import { newRequest } from '@/utils/newRequest'
import request from '@/utils/request'

//  查询产品列表
export function PageQueryProduct(data) {
  return request({
    url: '/api/Product/PageQueryProduct',
    method: 'post',
    data
  })
}

//  同步产品到时光汇
export function GenerateProductSyncInfo(data) {
  return request({
    url: '/api/Product/GenerateProductSyncInfo',
    method: 'post',
    data
  })
}

// 查询产品间关系
export function QueryProductComponent(data) {
  return request({
    url: '/api/Product/QueryProductComponent',
    method: 'post',
    data
  })
}

//  获取产品类型枚举
export function GetProductType() {
  return request({
    url: '/api/Product/GetProductType',
    method: 'get'

  })
}

//  查询全部的工艺路线模板
export function QueryTechRoute(data = {}) {
  return request({
    url: '/api/Product/QueryTechRoute',
    method: 'post',
    data
  })
}

//  获取产品输出方式枚举
export function GetProductShopType() {
  return request({
    url: '/api/Product/GetProductShopType',
    method: 'get'

  })
}

//  获取方向枚举
export function GetDirection() {
  return request({
    url: '/api/Product/GetDirection',
    method: 'get'

  })
}

//  获取图像类型枚举
export function GetImageExpendType() {
  return request({
    url: '/api/Product/GetImageExpendType',
    method: 'get'

  })
}

//  获取备注方向枚举
export function GetLocalDirection() {
  return request({
    url: '/api/Product/GetLocalDirection',
    method: 'get'

  })
}

//  打印类型枚举
export function ProductPrintTypeGetAll() {
  return request({
    url: '/api/ProductPrintType/GetAll',
    method: 'post'
  })
}

//  查询组件和和线体的关联关系
export function QueryProductLine(data) {
  return request({
    url: '/api/Product/QueryProductLine',
    method: 'post',
    data
  })
}

//  获取所有产品分类
export function ProductCategoricalGetAllList() {
  return request({
    url: '/api/ProductCategorical/GetAllList',
    method: 'post'
  })
}

//  获取产品状态
export function GetProductStatus() {
  return request({
    url: '/api/Product/GetProductStatus',
    method: 'get'

  })
}

//  查询物料公式
export function QueryFormula() {
  return request({
    url: '/api/Product/QueryFormula',
    method: 'post'
  })
}

//  查询产品关联的产品工艺路线
export function QueryProductLinkTechRoute(data) {
  return request({
    url: '/api/Product/QueryProductLinkTechRoute',
    method: 'post',
    data
  })
}

//  根据工艺路线id查询产品工艺路线
export function QueryTechRouteLink(data) {
  return request({
    url: '/api/Product/QueryTechRouteLink',
    method: 'post',
    data
  })
}

//  查询产品的工艺路线的某个工艺需要的物料
export function QueryProductMateial(data) {
  return request({
    url: '/api/Product/QueryProductMateial',
    method: 'post',
    data
  })
}

// 产品 新增
export function ModifyPrintSetting(data) {
  return request({
    url: '/api/Product/ModifyPrintSetting',
    method: 'post',
    data: [
      ...data
    ]
  })
}

// 产品 新增
export function ModifyProduct(data) {
  return request({
    url: '/api/Product/ModifyProduct',
    method: 'post',
    data: [
      ...data
    ]
  })
}

export function ModifyProductLine(data) {
  return request({
    url: '/api/Product/ModifyProductLine',
    method: 'post',
    data
  })
}

export function DeleteProductLine(data) {
  return request({
    url: '/api/Product/DeleteProductLine',
    method: 'delete',
    data
  })
}

//打印文件新增 编辑
export function ModifyProductFile(data) {
  return request({
    url: '/api/Product/ModifyProductFile',
    method: 'post',
    data: [
      ...data
    ]
  })
}

//删除打印前配置
export function DeleteProductProcessBeforePrintSetting(data) {
  return request({
    url: '/api/Product/DeleteProductProcessBeforePrintSetting',
    method: 'delete',
    data
  })
}

export function DeleteProductFile(data) {
  return request({
    url: '/api/Product/DeleteProductFile',
    method: 'delete',
    data
  })
}

//生成最新文件Code
export function GenerateProductFileCode(data) {
  return request({
    url: '/api/Product/GenerateProductFileCode',
    method: 'post',
    data
  })
}

//  新增 删除  产品关系
export function ModifyProductComponent(data) {
  return request({
    url: '/api/Product/ModifyProductComponent',
    method: 'post',
    data
  })
}

//  获取全部产品列表的分页
export function MaterialItemGetAllPage(params) {
  return request({
    url: '/api/MaterialItem/GetAllPage',
    method: 'post',
    params
  })
}


//  配置产品的工艺路线
export function ModifyProductLinkTechRoute(data) {
  return request({
    url: '/api/Product/ModifyProductLinkTechRoute',
    method: 'post',
    data
  })
}

//  配置产品的某个工艺的材料
export function ModifyProductMaterial(data) {
  return request({
    url: '/api/Product/ModifyProductMaterial',
    method: 'post',
    data
  })
}

//  删除组件流程的材料
export function DeleteProductMaterial(data) {
  return request({
    url: '/api/Product/DeleteProductMaterial',
    method: 'delete',
    data
  })
}

//  删除产品 array
export function DeleteProduct(data) {
  return request({
    url: '/api/Product/DeleteProduct',
    method: 'delete',
    data
  })
}

// 检查产品编码是否重复
export function CheckRepeatProductCode({ code }) {
  return request({
    url: '/api/Product/CheckRepeatProductCode',
    method: 'post',
    params: { code }
  })
}

// 生成最新产品编码
export function GenerateProductCode({ productType }) {
  return request({
    url: '/api/Product/GenerateProductCode',
    method: 'post',
    params: { productType }
  })
}

//获取所有分类
export function getAllList(data) {
  return newRequest({
    url: '/api/ProductCategorical/GetAllList',
    method: 'post',
    data: {
      ...data
    }
  })
}

//获取所有尺寸
export function getAllSize(params) {
  return newRequest({
    url: '/api/Size/GetAllSize',
    method: 'post',
    params
  })
}

//获取所有线路
export function getAllLine(data) {
  return newRequest({
    url: '/api/Line/GetAll',
    method: 'post',
    data: {
      ...data
    },
    params: data
  })
}

//获取所有物料
export function getAllMaterialItem(data) {
  return newRequest({
    url: '/api/MaterialItem/GetAll',
    method: 'post',
    data
  })
}

// 获取所有产品制作类型
export function getAllProductPrintType(data) {
  return newRequest({
    url: '/api/ProductPrintType/GetAll',
    method: 'post',
    data: {
      ...data
    }
  })
}

//产品印前处理
export function QueryProductProcessBeforePrintSetting(data) {
  return newRequest({
    url: '/api/Product/QueryProductProcessBeforePrintSetting',
    method: 'post',
    data: {
      ...data
    }
  })
}

///api/Product/PageQueryProductFile
//产品文件规则列表查询
export function PageQueryProductFile(data) {
  return newRequest({
    url: '/api/Product/PageQueryProductFile',
    method: 'post',
    data: {
      ...data
    }
  })

}
